package com.things8.iot.baseIot.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author  yzh
 * @date  2021/5/2 21:24
 * @version 1.0
 */
@ApiModel(value="com-things8-iot-example-demo-entity-BOrder")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class BOrder implements Serializable {
    @ApiModelProperty(value="")
    private Long id;

    /**
    * 套餐名称
    */
    @ApiModelProperty(value="套餐名称")
    private String packageName;

    /**
    * 金额
    */
    @ApiModelProperty(value="金额")
    private BigDecimal amount;

    /**
    * 设备imei
    */
    @ApiModelProperty(value="设备imei")
    private String imei;

    /**
    * 设备id
    */
    @ApiModelProperty(value="设备id")
    private String sysid;

    /**
    * 备注
    */
    @ApiModelProperty(value="备注")
    private String remarks;

    /**
    * 创建时间
    */
    @ApiModelProperty(value="创建时间")
    private Date createTime;

    /**
    * 修改时间
    */
    @ApiModelProperty(value="修改时间")
    private Date updateTime;

    /**
    * 下订单时间
    */
    @ApiModelProperty(value="下订单时间")
    private Date placeOrderTime;

    /**
    * 支付状态：SUCCESS
    */
    @ApiModelProperty(value="支付状态：SUCCESS")
    private String payStatus;

    /**
    * 支付类型，wx：微信支付，ali：支付宝支付
    */
    @ApiModelProperty(value="支付类型，wx：微信支付，ali：支付宝支付")
    private String payType;

    /**
    * 收到异步通知的时间，
    */
    @ApiModelProperty(value="收到异步通知的时间，")
    private Date paySuccessTime;

    /**
    * 扫码人的openid
    */
    @ApiModelProperty(value="扫码人的openid")
    private String openId;

    /**
    * 商户订单号,只有发生真实交易才会有订单号
    */
    @ApiModelProperty(value="商户订单号,只有发生真实交易才会有订单号")
    private String outTradeNo;

    /**
    * productkey
    */
    @ApiModelProperty(value="productkey")
    private String productKey;

    /**
    * 下发的命令
    */
    @ApiModelProperty(value="下发的命令")
    private String cmd;

    /**
    * 谁启动设备就填谁的手机号码
    */
    @ApiModelProperty(value="谁启动设备就填谁的手机号码")
    private String phonenum;

    /**
    * 订单类型；运营端启动，扫码支付，首次扫码，机主扫码
    */
    @ApiModelProperty(value="订单类型；运营端启动，扫码支付，首次扫码，机主扫码")
    private String orderType;

    /**
    * 分账状态： 1：分账成功0：支付成功，未分账
    */
    @ApiModelProperty(value="分账状态： 1：分账成功0：支付成功，未分账")
    private Integer profitSharingStatus;

    /**
    * 分账完成时间
    */
    @ApiModelProperty(value="分账完成时间")
    private Date profitSharingTime;

    /**
    * 微信企业付款状态		SUCCESS:转账成功 FAILED:转账失败 PROCESSING:处理中
    */
    @ApiModelProperty(value="微信企业付款状态		SUCCESS:转账成功 FAILED:转账失败 PROCESSING:处理中")
    private String wxTransferStatus;

    /**
    * 微信企业付款失败信息
    */
    @ApiModelProperty(value="微信企业付款失败信息")
    private String wxReason;

    /**
    * 微信转账金额
    */
    @ApiModelProperty(value="微信转账金额")
    private Long wxTransferAmount;

    /**
    * 微信转账时间
    */
    @ApiModelProperty(value="微信转账时间")
    private Date wxTransferTime;

    /**
    * 微信付款成功时间
    */
    @ApiModelProperty(value="微信付款成功时间")
    private Date wxPaymentTime;

    /**
    * 微信转账的订单号
    */
    @ApiModelProperty(value="微信转账的订单号")
    private String wxDetailId;

    /**
    * 转账订单号
    */
    @ApiModelProperty(value="转账订单号")
    private String transferId;

    /**
    * 支付这笔订单，客户的手机号码
    */
    @ApiModelProperty(value="支付这笔订单，客户的手机号码")
    private String customerPhone;

    /**
    * 企业付款的商户号
    */
    @ApiModelProperty(value="企业付款的商户号")
    private String payMchId;

    /**
    * 子商户手机号
    */
    @ApiModelProperty(value="子商户手机号")
    private String subPhonenum;

    /**
    * 分账结清状态：0，未结清，1，已结清
    */
    @ApiModelProperty(value="分账结清状态：0，未结清，1，已结清")
    private Byte subAccountStatus;

    private static final long serialVersionUID = 1L;
}